home *** CD-ROM | disk | FTP | other *** search
- PRT_2COL ╔═════════════════╗
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓║ MC68000 ║▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ║ Bit assignments ║
- ╚═════════════════╝
- Structure of instructions:
-
- 15 0
- ╔════════════════╗
- ║ INSTRUCTION ║
- ╚═══════╤════════╝
- │
- 15 │ 0
- ╔═══════╧════════╗
- ║ EXTENSION ║ if necessary for instruction , source , destination .
- ╚═══════╤════════╝
- │
- 15 │ 0
- ╔═══════╧════════╗
- ║ EXTENSION ║ if necessary for source , destination .
- ╚═══════╤════════╝
- │
- 15 │ 0
- ╔═══════╧════════╗
- ║ EXTENSION ║ if necessary for source , destination .
- ╚═══════╤════════╝
- │
- 15 │ 0
- ╔═══════╧════════╗
- ║ EXTENSION ║ if necessary for destination .
- ╚════════════════╝
-
- ────────────────────────────────────────────────────────────────────────────────
-
- ┌────────────────────────────────────────────────────────────────────────┐
- │ Operation code │
- ├───┬───┬───┬───┬────────────────────────────────────────────────────────┤
- │ 0 │ 0 │ 0 │ 0 │ MOVEP ANDI ORI EORI BTST BCLR BSET BCHG ADDI SUBI CMPI │
- │ 0 │ 0 │ 0 │ 1 │ MOVE.B │
- │ 0 │ 0 │ 1 │ 0 │ MOVE.L MOVEA.L │
- │ 0 │ 0 │ 1 │ 1 │ MOVE.W MOVEA.W │
- │ 0 │ 1 │ 0 │ 0 │ MOVEM CLR NOT LEA PEA LINK UNLK EXT SWAP │
- │ │ │ │ │ NEG NEGX NBCD TST NOP JMP JSR RTS RTR │
- │ │ │ │ │ TRAP TRAPV CHK ILLEGAL RTE TAS RESET STOP │
- │ 0 │ 1 │ 0 │ 1 │ Scc ADDQ SUBQ DBcc │
- │ 0 │ 1 │ 1 │ 0 │ BSR Bcc │
- │ 0 │ 1 │ 1 │ 1 │ MOVEQ │
- │ 1 │ 0 │ 0 │ 0 │ OR SBCD DIVU DIVS │
- │ 1 │ 0 │ 0 │ 1 │ SUB SUBA SUBX │
- │ 1 │ 0 │ 1 │ 0 │ Line A │
- │ 1 │ 0 │ 1 │ 1 │ EOR CMP CMPA CMPM │
- │ 1 │ 1 │ 0 │ 0 │ AND EXG ABCD MULU MULS │
- │ 1 │ 1 │ 0 │ 1 │ ADD ADDA ADDX │
- │ 1 │ 1 │ 1 │ 0 │ LSL LSR ASL ASR ROL ROR ROXL ROXR │
- │ 1 │ 1 │ 1 │ 1 │ Line F │
- └───┴───┴───┴───┴────────────────────────────────────────────────────────┘
- ┌────────────┐
- │ Size │
- ├───┬───┬────┤
- │ 0 │ 0 │ .B │
- │ 0 │ 1 │ .W │
- │ 1 │ 0 │ .L │
- └───┴───┴────┘
- ┌─────────────────────────────────────────┐
- │ Addressing mode │
- ├───┬───┬───┬───────────┬─────────────────┤
- │ 0 │ 0 │ 0 │ n │ Dn │
- │ 0 │ 0 │ 1 │ n │ An │
- │ 0 │ 1 │ 0 │ n │ (An) │
- │ 0 │ 1 │ 1 │ n │ (An)+ │
- │ 1 │ 0 │ 0 │ n │ -(An) │
- │ 1 │ 0 │ 1 │ n │ d(An) │
- │ 1 │ 1 │ 0 │ n │ d(An,Rn) │
- │ 1 │ 1 │ 1 │ 0 │ 0 │ 0 │ Abs.W │
- │ 1 │ 1 │ 1 │ 0 │ 0 │ 1 │ Abs.L │
- │ 1 │ 1 │ 1 │ 0 │ 1 │ 0 │ d(PC) │
- │ 1 │ 1 │ 1 │ 0 │ 1 │ 1 │ d(PC,Rn) │
- │ 1 │ 1 │ 1 │ 1 │ 0 │ 0 │ #k / CCR / SR │
- └───┴───┴───┴───┴───┴───┴─────────────────┘
-
- s : source
- d : destination
- M : Memory
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ╔═════════════════╗
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓║ MC68000 ║▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ║ Bit assignments ║
- ╚═════════════════╝
- ╔═════════════════════════════╗
- ░░░░░░░░░░░░░░░░░░░░░░░░║ I N S T R U C T I O N S ║░░░░░░░░░░░░░░░░░░░░░░░░░
- ╚═════════════════════════════╝
- MOVE MOVEA
- ----------
- 15 12 11 9 8 6 5 3 2 0
- ┌───────────────┬───────────┬───────────┬───────────┬───────────┐
- │ Op_code │ n_d │ Mode_d │ Mode_s │ n_s │
- └───────────────┴───────────┴───────────┴───────────┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- MOVEQ
- -----
- 15 12 11 9 8 7 0
- ┌───────────────┬───────────┬───┬───────────────────────────────┐
- │ Op_code │ Dn │ 0 │ # │
- └───────────────┴───────────┴───┴───────────────────────────────┘
- ────────────────────────────────────────────────────────────────────────────────
- MOVEM
- -----
- 15 12 11 10 9 7 6 5 3 2 0
- ┌───────────────┬───┬───┬───────────┬───┬───────────┬───────────┐
- │ Op_code │ 1 │Dir│ 0 0 1 │W/L│ Mode │ n │
- └───────────────┴───┴───┴───────────┴───┴───────────┴───────────┘
- Direction:R,M/M,R
- ────────────────────────────────────────────────────────────────────────────────
- MOVEP
- -----
- 15 12 11 9 8 7 6 5 3 2 0
- ┌───────────────┬───────────┬───┬───┬───┬───────────┬───────────┐
- │ Op_code │ Dn │ 1 │Dir│W/L│ 0 0 1 │ An │
- └───────────────┴───────────┴───┴───┴───┴───────────┴───────────┘
- Direction:R,M/M,R
- ────────────────────────────────────────────────────────────────────────────────
- MOVE USP
- --------
- 15 12 11 4 3 2 0
- ┌───────────────┬───────────────────────────────┬───┬───────────┐
- │ Op_code │ 1 1 1 0 0 1 1 0 │Dir│ An │
- └───────────────┴───────────────────────────────┴───┴───────────┘
- Direction:An,USP/USP,An
- ────────────────────────────────────────────────────────────────────────────────
- MOVE CCR/SR
- -----------
- 15 12 11 10 9 8 6 5 3 2 0
- ┌───────────────┬───┬───────┬───────────┬───────────┬───────────┐
- │ Op_code │ 0 │ Type │ 0 1 1 │ Mode │ n │
- └───────────────┴───┴───────┴───────────┴───────────┴───────────┘
- ┌─────────┐
- │ Type │
- ┌────┼─────────┤
- │ 00 │ SR,d │
- │ 10 │ s,CCR │
- │ 11 │ s,SR │
- └────┴─────────┘
- ────────────────────────────────────────────────────────────────────────────────
- CLR NEG NEGX NBCD TST NOT
- -------------------------
- 15 12 11 9 8 7 6 5 3 2 0
- ┌───────────────┬───────────┬───┬───────┬───────────┬───────────┐
- │ Op_code │ Type │ 0 │ Size │ Mode │ n │
- └───────────────┴───────────┴───┴───────┴───────────┴───────────┘
- ┌──────┐
- │ Type │
- ┌─────┼──────┤
- │ 000 │ NEGX │
- │ 001 │ CLR │
- │ 010 │ NEG │
- │ 011 │ NOT │
- │ 100 │ NBCD │
- │ 101 │ TST │
- └─────┴──────┘
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ╔═════════════════╗
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓║ MC68000 ║▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ║ Bit assignments ║
- ╚═════════════════╝
- ╔═════════════════════════════╗
- ░░░░░░░░░░░░░░░░░░░░░░░░║ I N S T R U C T I O N S ║░░░░░░░░░░░░░░░░░░░░░░░░░
- ╚═════════════════════════════╝
- AND OR ADD ADDA SUB SUBA CMP CMPA
- ---------------------------------
- 15 12 11 9 8 7 6 5 3 2 0
- ┌───────────────┬───────────┬───┬───────┬───────────┬───────────┐
- │ Op_code │ Dn_d 0 Size Mode_s n_s │
- └───────────────┼───────────┼───┼───────┼───────────┼───────────┤
- │ Dn_s 1 Size Mode_d_M n_d │
- ├───────────┼───┼───────┼───────────┼───────────┤
- │ An W/L 1 1 Mode n │
- └───────────┴───┴───────┴───────────┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- EOR
- ---
- 15 12 11 9 8 7 6 5 3 2 0
- ┌───────────────┬───────────┬───┬───────┬───────────┬───────────┐
- │ Op_code │ Dn │ 1 │ Size │ Mode │ n │
- └───────────────┴───────────┴───┴───────┴───────────┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- ANDI ORI EORI ADDI SUBI CMPI
- ----------------------------
- 15 12 11 9 8 7 6 5 3 2 0
- ┌───────────────┬───────────┬───┬───────┬───────────┬───────────┐
- │ Op_code │ Type │ 0 │ Size │ Mode │ n │
- └───────────────┴───────────┴───┴───────┴───────────┴───────────┘
- ┌──────┐
- │ Type │
- ┌─────┼──────┤
- │ 000 │ ORI │
- │ 001 │ ANDI │
- │ 010 │ SUBI │
- │ 011 │ ADDI │
- │ 101 │ EORI │
- │ 110 │ CMPI │
- └─────┴──────┘
- ────────────────────────────────────────────────────────────────────────────────
- BTST BCLR BSET BCHG
- -------------------
- 15 12 11 9 8 7 6 5 3 2 0
- ┌───────────────┬───────────┬───┬───────┬───────────┬───────────┐
- │ Op_code │ Dn 1 │ Type │ Mode │ n │
- └───────────────┼───────────┴───┼───────┴───────────┴───────────┘
- │ 1 0 0 0 │
- └───────────────┘
- ┌──────┐
- │ Type │
- ┌────┼──────┤
- │ 00 │ BTST │
- │ 01 │ BCHG │
- │ 10 │ BCLR │
- │ 11 │ BSET │
- └────┴──────┘
- ────────────────────────────────────────────────────────────────────────────────
- Scc
- ---
- 15 12 11 8 7 6 5 3 2 0
- ┌───────────────┬───────────────┬───────┬───────────┬───────────┐
- │ Op_code │ cc │ 1 1 │ Mode │ n │
- └───────────────┴───────────────┴───────┴───────────┴───────────┘
- ┌────┐
- │ cc │
- ┌──────┼────┴┐
- │ 0000 │T │
- │ 0001 │F │
- │ 0010 │HI │
- │ 0011 │LS │
- │ 0100 │CC/HS│
- │ 0101 │CS/LO│
- │ 0110 │NE │
- │ 0111 │EQ │
- │ 1000 │VC │
- │ 1001 │VS │
- │ 1010 │PL │
- │ 1011 │MI │
- │ 1100 │GE │
- │ 1101 │LT │
- │ 1110 │GT │
- │ 1111 │LE │
- └──────┴─────┘
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ╔═════════════════╗
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓║ MC68000 ║▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ║ Bit assignments ║
- ╚═════════════════╝
- ╔═════════════════════════════╗
- ░░░░░░░░░░░░░░░░░░░░░░░░║ I N S T R U C T I O N S ║░░░░░░░░░░░░░░░░░░░░░░░░░
- ╚═════════════════════════════╝
- LSL LSR ASL ASR ROL ROR ROXL ROXR
- ---------------------------------
- 15 12 11 9 8 7 6 5 4 3 2 0
- ┌───────────────┬───────────┬───┬───────┬───┬───────┬───────────┐
- │ Op_code │ # Dir Size I/R Type Dn │
- └───────────────┼───┬───────┼───┼───────┼───┴───────┼───────────┤
- │ 0 Type Dir 1 1 Mode n │
- └───┴───────┴───┴───────┴───────────┴───────────┘
- ┌──────┐ Direction:Right/Left
- │ Type │
- ┌────┼──────┤ Instruction/Register:#k/Dn
- │ 00 │ AS~ │
- │ 01 │ LS~ │
- │ 10 │ ROX~ │
- │ 11 │ RO~ │
- └────┴──────┘
- ────────────────────────────────────────────────────────────────────────────────
- EXG
- ---
- 15 12 11 9 8 3 2 0
- ┌───────────────┬───────────┬───────────────────────┬───────────┐
- │ Op_code │ Dn 1 0 1 0 0 0 Dn │
- └───────────────┼───────────┼───────────────────────┼───────────┤
- │ An 1 0 1 0 0 1 An │
- ├───────────┼───────────────────────┼───────────┤
- │ Dn 1 1 0 0 0 1 An │
- └───────────┴───────────────────────┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- LEA
- ---
- 15 12 11 9 8 6 5 3 2 0
- ┌───────────────┬───────────┬───────────┬───────────┬───────────┐
- │ Op_code │ An │ 1 1 1 │ Mode │ n │
- └───────────────┴───────────┴───────────┴───────────┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- PEA
- ---
- 15 12 11 6 5 3 2 0
- ┌───────────────┬───────────────────────┬───────────┬───────────┐
- │ Op_code │ 1 0 0 0 0 1 │ Mode │ n │
- └───────────────┴───────────────────────┴───────────┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- LINK UNLK
- ---------
- 15 12 11 4 3 2 0
- ┌───────────────┬───────────────────────────────┬───┬───────────┐
- │ Op_code │ 1 1 1 0 0 1 0 1 │Typ│ An │
- └───────────────┴───────────────────────────────┴───┴───────────┘
- Type:LINK/UNLINK
- ────────────────────────────────────────────────────────────────────────────────
- EXT
- ---
- 15 3 12 11 7 6 5 3 2 0
- ┌───────────────┬───────────────────┬───┬───────────┬───────────┐
- │ Op_code │ 1 0 0 0 1 │W/L│ 0 0 0 │ Dn │
- └───────────────┴───────────────────┴───┴───────────┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- SWAP
- ----
- 15 12 11 3 2 0
- ┌───────────────┬───────────────────────────────────┬───────────┐
- │ Op_code │ 1 0 0 0 0 1 0 0 0 │ Dn │
- └───────────────┴───────────────────────────────────┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- ADDQ SUBQ
- ---------
- 15 12 11 9 8 7 6 5 3 2 0
- ┌───────────────┬───────────┬───┬───────┬───────────┬───────────┐
- │ Op_code │ # │Typ│ Size │ Mode │ n │
- └───────────────┴───────────┴───┴───────┴───────────┴───────────┘
- Type: ADDQ/SUBQ
- ────────────────────────────────────────────────────────────────────────────────
- ADDX SUBX ABCD SBCD CMPM
- ------------------------
- 15 12 11 9 8 7 6 5 4 3 2 0
- ┌───────────────┬───────────┬───┬───────┬───────┬───┬───────────┐
- │ Op_code │ Rn_d │ 1 │ Size │ 0 0 │R/M│ Rn_s │
- └───────────────┴───────────┴───┴───────┴───────┴───┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- MULU MULS DIVU DIVS
- -------------------
- 15 12 11 9 8 7 6 5 3 2 0
- ┌───────────────┬───────────┬───┬───────┬───────────┬───────────┐
- │ Op_code │ Dn │+/-│ 1 1 │ Mode │ n │
- └───────────────┴───────────┴───┴───────┴───────────┴───────────┘
-
-
-
-
-
-
-
-
- ╔═════════════════╗
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓║ MC68000 ║▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ║ Bit assignments ║
- ╚═════════════════╝
- ╔═════════════════════════════╗
- ░░░░░░░░░░░░░░░░░░░░░░░░║ I N S T R U C T I O N S ║░░░░░░░░░░░░░░░░░░░░░░░░░
- ╚═════════════════════════════╝
- NOP RTS RTR TRAPV RTE RESET STOP
- --------------------------------
- 15 12 11 3 2 0
- ┌───────────────┬───────────────────────────────────┬───────────┐
- │ Op_code │ 1 1 1 0 0 1 1 1 0 │ Type │
- └───────────────┴───────────────────────────────────┴───────────┘
- ┌───────┐
- │ Type │
- ┌─────┼───────┤
- │ 000 │ RESET │
- │ 001 │ NOP │
- │ 010 │ STOP │
- │ 011 │ RTE │
- │ 101 │ RTS │
- │ 110 │ TRAPV │
- │ 111 │ RTR │
- └─────┴───────┘
- ────────────────────────────────────────────────────────────────────────────────
- JMP JSR
- -------
- 15 12 11 7 6 5 3 2 0
- ┌───────────────┬───────────────────┬───┬───────────┬───────────┐
- │ Op_code │ 1 1 1 0 1 │Typ│ Mode │ n │
- └───────────────┴───────────────────┴───┴───────────┴───────────┘
- Type:JSR/JMP
- ────────────────────────────────────────────────────────────────────────────────
- BSR Bcc
- -------
- 15 12 11 8 7 0
- ┌───────────────┬───────────────┬───────────────────────────────┐
- │ Op_code │ cc │ displacement │
- └───────────────┴───────────────┴───────────────────────────────┘
- See Scc <>0:d.B(PC):.S =0:d.W(PC)
- (BT=BRA)
- (BF:BSR)
- ────────────────────────────────────────────────────────────────────────────────
- DBcc
- ----
- 15 12 11 8 7 3 2 0
- ┌───────────────┬───────────────┬───────────────────┬───────────┐
- │ Op_code │ cc │ 1 1 0 0 1 │ Dn │
- └───────────────┴───────────────┴───────────────────┴───────────┘
- See Scc
- (DBF=DBRA)
- ────────────────────────────────────────────────────────────────────────────────
- TRAP
- ----
- 15 12 11 4 3 0
- ┌───────────────┬───────────────────────────────┬───────────────┐
- │ Op_code │ 1 1 1 0 0 1 0 0 │ # │
- └───────────────┴───────────────────────────────┴───────────────┘
- ────────────────────────────────────────────────────────────────────────────────
- CHK
- ---
- 15 12 11 9 8 6 5 3 2 0
- ┌───────────────┬───────────┬───────────┬───────────┬───────────┐
- │ Op_code │ Dn │ 1 1 0 │ Mode │ n │
- └───────────────┴───────────┴───────────┴───────────┴───────────┘
- ────────────────────────────────────────────────────────────────────────────────
- ILLEGAL
- -------
- 15 12 11 0
- ┌───────────────┬───────────────────────────────────────────────┐
- │ Op_code │ 1 0 1 0 1 1 1 1 1 1 0 0 │
- └───────────────┴───────────────────────────────────────────────┘
- ────────────────────────────────────────────────────────────────────────────────
- TAS
- ---
- 15 12 11 6 5 3 2 0
- ┌───────────────┬───────────────────────┬───────────┬───────────┐
- │ Op_code │ 1 0 1 0 1 1 │ Mode │ n │
- └───────────────┴───────────────────────┴───────────┴───────────┘
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ╔═════════════════╗
- ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓║ MC68000 ║▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- ║ Bit assignments ║
- ╚═════════════════╝
- ╔═════════════════════════╗
- ░░░░░░░░░░░░░░░░░░░░░░░░░░║ E X T E N S I O N S ║░░░░░░░░░░░░░░░░░░░░░░░░░░░
- ╚═════════════════════════╝
- MOVEM except for -(An)
- ----------------------
- 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- │ A7│ A6│ A5│ A4│ A3│ A2│ A1│ A0│ D7│ D6│ D5│ D4│ D3│ D2│ D1│ D0│
- └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
-
- MOVEM for -(An)
- ---------------
- 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- │ D0│ D1│ D2│ D3│ D4│ D5│ D6│ D7│ A0│ A1│ A2│ A3│ A4│ A5│ A6│ A7│
- └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
- ────────────────────────────────────────────────────────────────────────────────
- d(An,Rn) d(PC,Rn)
- -------------------
- 15 14 12 11 10 8 7 0
- ┌───┬───────────┬───┬───────────┬───────────────────────────────┐
- │D/A│ Rn │W/L│ 0 0 0 │ displacement │
- └───┴───────────┴───┴───────────┴───────────────────────────────┘
- ────────────────────────────────────────────────────────────────────────────────
- #k.B/W Abs.W d(An) d(PC)
- ------------------------------
- 15 0
- ┌───────────────────────────────────────────────────────────────┐
- │ # │
- └───────────────────────────────────────────────────────────────┘
- ────────────────────────────────────────────────────────────────────────────────
- #k.L Abs.L
- ------------
- 15 0
- ┌───────────────────────────────────────────────────────────────┐
- │ #_High │
- └───────────────────────────────────────────────────────────────┘
- 15 0
- ┌───────────────────────────────────────────────────────────────┐
- │ #_Low │
- └───────────────────────────────────────────────────────────────┘
-